The present invention relates to a distribution of digital contents. More specifically, the present invention relates to a digital contents distribution system and a digital contents distribution method, which distribute digital contents from digital contents distribution sites through networks, and make a plurality of clients store the digital contents therein, thus making it possible to distribute the digital contents efficiently through the networks. Moreover, the present invention relates to a program for executing the method, a computer readable recording medium including the program, and to a server and clients therefor.
Moreover, the present invention relates to a digital contents distribution system, which makes it possible to distribute the digital contents to a predetermined wide area group including a plurality of groups connected to one another through the networks, each group being constructed by including a plurality of clients, while reducing overheads of communication traffics to servers. Furthermore, the present invention relates to a server and clients for the system, a control method for making computers function as the above-described server and clients, a program for the method, and a computer readable recording medium recording the program therein.
Recent years, more and more widespread have been networks such as the Internet through systems including a computer, a public telephone line, ISDN, optical communication, wireless communication, ADSL and CATV. It is conceived that services will be further widespread in the future, which distribute text data, audio data, image data and multimedia data made by compounding these through the networks to clients such as a plurality of computers or mobile terminals from servers placed at sites providing the digital contents, besides digital contents such as E mail.
Meanwhile, besides the first network such as the above-described Internet, which is capable of managing or distributing the digital contents over a wide range, the second networks such as Local Area Network (LAN) and Wide Area Network (WAN) have also been widespread rapidly, which share, manage and distribute the digital contents in relatively narrow ranges in comparison with the Internet. The above-described second networks enable efficient use of computer resources in public groups such as business enterprises, government bodies, administrative organs, educational institutions, libraries and broadcast communication organization. Specifically, it can be said that current connections among servers in a public group are made through the plurality of networks belonging to the plurality of groups in many cases. Usually, a plurality of clients such as the computers (hereinafter, referred to as “clients”) are interconnected so as to form a predetermined group in each of the above-described second networks, thus making it possible for each group to hold the given digital contents.
In the above-described network environment, it may sometimes be necessary to distribute the digital contents held in the server to a plurality of clients belonging to other networks. Heretofore, a variety of transmission methods or systems for distributing the digital contents transmitted from a server to a plurality of clients have been proposed.
For example, Deering, S., et al. has proposed a method called IP multicast for the purpose of avoiding overlap of packets on a network route in “Multicast Routing in Internetworks and Extended LANs (Stanford University, Department of Computer Science Technical Report: STAN-CS-88-1214, July, 1988).” FIG. 31 is a schematic diagram illustrating the IP multicast method proposed by Deering, et al. As illustrated in FIG. 31, the IP multicast method proposed by Deering, et at. has had a disadvantage in involving complicatedness of network resources, which includes a necessity of placing dedicated routers having “states” regarding clients receiving service instead of simple routers performing IP transfer though the method eliminates the overlap of the packets on the network 100 to enable good communication. Another disadvantage in that scalability of the network is restricted has occurred, which includes a necessity of expansion of network equipment and incapability of coping with a situation such as sudden interference with and departure of the client in association with the above-described complicatedness of the network resources.
Moreover, because the IP multicast has a structure of sending data from an arbitrary source to an arbitrary group, the IP multicast has a disadvantage in weakening against a malicious attack and requiring a unique global address to be secured for the group. However, the IP multicast has an advantage in that the service can be managed at low cost in terms of distributing the digital contents because the IP multicast basically provides best-effort service. However, the IP multicast is unsuitable for use in a backbone line of an enterprise, in which a slight line disconnection leads to a great loss, and use in moving picture distribution always requiring a fixed band to be secured. As described above, the IP multicast has a disadvantage in that handling for securing reliability, avoiding congestion and securing security is difficult in comparison with unicast. Furthermore, the IP multicast requires a large-scale change of a network infrastructure. For the above-described reasons, it cannot be said yet that the IP multicast is practical.
Moreover, in order to solve the above-described problems of the IP multicast, an “application-level multicast” system has been proposed, which is described in the following documentations. Dimitrios Pendarakis, Sherlia Shi, Dinesh Verma, and Marcel Waldvogel. Almi: An application level multicast infrastructure. In Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems (USITS), pages 49-60, 2001; Y. Chu, S. Rao, and H. Zhang. A Case For End System Multicast. In Proc. ACM Sigmetrics, June 2000; P. Francis, “Yoid: extending the internet multicast architecture.”
In the foregoing background arts, a system is used, in which clients also serve as relay points for packet transmission, and packets are transferred to downstream clients. FIG. 32 is a schematic diagram illustrating digital contents distribution using the application-level multicast system. The application-level multicast system shown in FIG. 32 is configured in such a manner that the client 106 is given a rank and the client 106 can transmit packets in accordance with individual path tree structures. In the application-level multicast system illustrated in FIG. 32, Pendarakis, et al. calculated the minimum network for efficiently connecting all of the join clients to one another. Moreover, Chu, et al. tried to allocate packet flows to the clients.
The minimum network is formed as, for example, the minimum spanning tree (MST) in which branches are weighted by a round-trip time (RTT). Because the MST is determined statically, it will be necessary to reconstruct the network if the departure of the join clients occurs. Because the server 108 executes the calculation that performs this reconstruction, there is a disadvantage in that an overhead given to the server 108 is increased. Moreover, there has been proposed a method for reducing the overhead to the server 108, in which the reconstruction caused by the join and departure of the respective clients is carried out locally, and the entire construction of the minimum network is reviewed, and so on. Nevertheless, if a client located at an intermediate point in a path tree structure that transmits the packets is departed, and if the central processing unit (CPU) of the client 106 is allocated to another process to fail in relaying the packets, then the minimum network will be affected by a factor such as a sudden shutdown of packet receiving in a client downstream thereof. In order to avoid such a disadvantage, it is necessary to take measures such as impartment of a redundancy to the minimum network (tree structure) and prepreparation of an alternate tree structure. This brings more and more complicatedness of the construction of the minimum network, and therefore, the overhead added to the server 108 in the reconstruction will be further increased. This is because each client is given a role of the relay statically and because the generation and reconstruction of the path tree structure including network construction information is carried out only by the server.
Meanwhile, there has also been proposed a system for caching the transmission packets coordinately by use of dispersed clients. In the system for caching the transmission packets coordinately, data is acquired not from the server 108 but from the caches of the clients 106 (Specification of Japanese Patent Application No. Hei 11 (1999)-282332, Title of the Invention: “Data Caching System on Basis of Dispersed Clients”). The specification of Japanese Patent Application No. Hei 11 (1999)-282332 discloses a technique of acquiring data from a client, in which the respective clients search the client caching desired data therein by use of a correspondence table between data cache and the clients.
Although the method disclosed in the specification of Japanese Patent Application No. Hei 11 (1999)-282332 enables good caching in the client, a delay occurs at least by a length of the data to be cached when data are acquired. Therefore, in the case of streaming requiring realtime characteristics with a short time delay, the method is insufficient in terms of the realtime characteristics. Moreover, the specification of Japanese Patent Application No. Hei 11 (1999)-282332 never discloses caching for data with a long length. Furthermore, if the above-described data caching system manages the streaming data by dividing this data into small packets for the purpose of reducing the time delay due to the caching, then it will be necessary to update the correspondence table for the caching frequently in the unit of the packets, and the overhead for the client will be increased. Therefore, not only the advantage of including the correspondence table in the clients is damaged, but also the overheads of the clients are significantly increased. Accordingly, the method is impractical.
Meanwhile, Aramaki, et al. have proposed a construction of connecting the clients to an edge server. FIG. 33 schematically illustrates a system proposed by Aramaki, et al. The system illustrated in FIG. 33 uses the server 108 placed remotely through the network 100 and the edge server 110 placed near the clients 106. The network 100 between the remote server 108 and the edge server 110 is formed as a best-effort type network, where digital contents are transmitted so as to make full use of a bandwidth thereof, and then the transmitted digital contents are once cached in the edge server 110. The cached digital contents are streamed anew from the edge server to the clients nearby, and thus the distribution of the digital contents to the clients is completed. Specifically, the method of Aramaki, et al. provides one solution to a method for restricting overlap of packets between the server 108 and the edge server 110 to avoid congestion of the network. However, the overhead of the edge server 110 is prone to be a subject even in the case of using the edge server 110, and it is necessary to reduce overlap of transmission packets also in the case of transmitting the packets from the edge server 110 to the respective clients.
If a backbone between the server 108 and the edge server 110 is a bandwidth sharing type intranet even in the case where the Internet is not used for connection therebetween, a similar construction to the above, which uses the server 108 and the edge server 110, can be utilized for avoiding the congestion due to the packet overlap on the backbone. However, it is necessary to place the edge servers 110 under all of end routers interconnected by backbone routers. Therefore, cost of constructing the second network such as LAN and WAN is increased, thus causing disadvantages such as a further increase of maintenance cost of the edge server 110 and an increase of a load to a network administrator, which is caused thereby. Moreover, a status is brought, where the increase of the complicatedness as a system becomes a problem from a viewpoint of the network and autonomic computing therefor. Hence, it has been necessary to provide a plurality of clients with a simple and robust operational system, which includes functions such as self-configuring and self-optimizing without any special auxiliary servers (edge servers and the like) and imparts network autonomy while securing the real time characteristics in the digital contents.
Moreover, in the above-described IP multicast, a transmission source designates an IP address having a value within a special range as a destination and transmits the packets thereto. This IP address represents a multicast group. A host on the receiving side transmits an join request to this group to the respective routers on the path, and the routers having received the request recognize a group having transmitted the join request and execute processing of distributing the packets thereto. The same packets can be transmitted at one time to a large number of hosts on the receiving side without the overlap of the packets by performing appropriate routing also by use of the multicast.
In a single network that does not diverge from the above-described routers and limited networks, the contents distribution by the multicast functions well without causing a large investment burden on the equipment/apparatus or the disadvantage to the communication traffics particularly. However, the communication protocol for use in the present Internet as a whole (IPv4) does not usually give validity to the multicast function. In general, additional apparatus/equipment is required in order to actually perform the multicast on the Internet.
FIG. 34 illustrates a network system that enables contents distribution corresponding to another multicast than the above-described multicast, for example, pseudo multicast as a well-known method. In this case, the contents are distributed to groups to which the above-described multicast can be applied. The network system illustrated in FIG. 34 enables the digital contents distribution by forming a plurality of tunnels between a server and the plurality of groups. The server 112 illustrated in FIG. 34 distributes the digital contents through the first network 116 such as the Internet to the wide area group G constructed of the groups 114a to 114c. The wide area group G illustrated in FIG. 34 is constructed by including the groups 114a to 114c. For example, business enterprises, public institutions, government bodies and educational institutions can be cited.
Concretely, if description is made by exemplifying, for example, one business enterprise, then the group 114a can be defined as a Hokkaido sales office, the group 114c can be defined as a Kyushu sales office belonging to the same enterprise, and so on. The server 112 illustrated in FIG. 34 distributes the digital contents in the multicast manner to the groups 114a to 114c individually by use of constructions called the tunnels 118a to 118c. More specifically, the tunnels 118a to 118c distribute multicast packets to receivers on networks at one time in such a manner that an entry port of the tunnel between two different networks and an exist port are provided, respectively and the data packets are transferred via the entry and exit ports. As illustrated in FIG. 34, the plurality of tunnels must be prepared in accordance with the number of groups in order to carry out the multicast distribution to the plurality of groups.
The above-described technology of tunneling is already known in public. It is also known that the multicast distribution by the tunneling does not often function fully when the number of groups is numerous. It is FIG. 35 that illustrates the above more concretely. In FIG. 35, the transmitter of the digital contents (hereinafter, referred to as a “provider”) and a large number of groups are mutually connected through the Internet. The groups 114a to 114c are connected to the first network through lines different in communication capacity, such as ISDN, ADSL, CATV and optical communication, used by the groups. Moreover, the clients in each of the groups 114a to 114c are mutually connected through a communication infrastructure of a type varied and different from others in communication capacity, for example, the second network such as, for example, a local area network (LAN) constructed by using Ethernet (registered trademark) and a wireless communication network. The plurality of clients 122 are mutually connected on the second network, which are then connected to the first network 116 through the routers 124 and the like. The server 112 transmits the packets to all of the clients 122 under such a status.
Under the status illustrated in FIG. 35, disadvantages described below occur in accordance with the conventional technique of performing the multicast distribution by the tunneling.
(1) Problem on Operation and Management in Group to be on the Receiving Side:
In order to provide the ports of the tunnels to the second networks, dedicated host apparatuses are required, which are constructed to be capable of receiving the packets by the multicast and multicasting the packets to the clients 122. Naturally, the communication to the LAN interconnecting the clients in each group depends on the function of the dedicated host apparatus. Therefore, when the dedicated host comes not be usable for some reasons, all of the clients on the second network managed by the dedicated host apparatus are affected.
(2) Problem on Network Bandwidth of Contents Distribution Server:
Because the communication between the server 112 and the respective groups is unicast, an amount of packets transmitted by the server and an amount of the communication traffics therefor are multiplied by M if the number of the groups is M. Hence, unless a high capacity communication infrastructure is used on the server 112 side, simultaneous communication comes to be impossible without damaging the real time characteristics as the number of groups is being increased more. This leads to a loss of attraction in terms of a cost merit in using the multicast.
Specifically, in the one-to-multi distribution of the digital contents, and more particularly, in the distribution of the digital contents for which the real time characteristics are required, it has been necessary heretofore to enable the distribution of the digital contents improved in the real time characteristics, in which the overlap of the transmission packets on the network paths is avoided to avoid the congestion of the traffics, the complicatedness of the individual routers is not brought, and a change involving a large-scale investment such as for work and cost of exchanging all of the routers on the paths is not required. Moreover, it has been necessary to distribute the digital contents without damaging the stability of the network system, in which no change is given to network layers such as the routers and switching hubs, and further, a necessity of the reconstruction corresponding to the frequent join and departure of the clients in the static minimum network is eliminated, thus reducing the overheads to the server.
Specifically, it has been necessary to distribute the digital contents of which real time characteristics are secured without increasing the complicatedness of the network resources and the reconstruction overheads to the server in a manner that the network imparted with redundancies is constructed in order to secure the stability of downstream clients and to enable the digital contents distribution to the users securely, for example, when a client located at an upstream relay point is departed due to an abnormal end.
Furthermore, in the case of using the tunneling, though it is possible to increase the number of tunnels to be constructed as the number of groups is being increased, this will further compress the communication traffics on the server side in accordance with the increase of the number of tunnels. Moreover, in order to prevent the above-described disadvantages on the server side, a method for avoiding the congestion on the server side is also conceived, in which the tunnels are also constructed among the groups, and the packets are relayed thereamong in a cascaded manner. However, there occur new problems that additional apparatus/equipment is required because the ports of the tunnels are constructed also among the groups and that interference with a tunnel in one group fatally affect other groups because hierarchical structures are formed among the groups. Furthermore, it is also conceived that packets directly sent from the server and packets sent from the other groups in the cascaded manner are overlapped with each other. Therefore, a disadvantage occurs in reproducing the digital contents, and it becomes necessary to eliminate the overlap of the packets in a software manner. As described above, the background arts have not made it possible to fully cope with the conventional problems in reproduction quality and in terms of software and cost.